home *** CD-ROM | disk | FTP | other *** search
/ Halting the Hacker - A P…uide to Computer Security / Halting the Hacker - A Practical Guide to Computer Security.iso / rfc / rfc1620.txt < prev    next >
Text File  |  1997-04-01  |  45KB  |  1,067 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                          B. Braden
  8. Request for Comments: 1620                                           ISI
  9. Category: Informational                                        J. Postel
  10.                                                                      ISI
  11.                                                               Y. Rekhter
  12.                                                             IBM Research
  13.                                                                 May 1994
  14.  
  15.  
  16.            Internet Architecture Extensions for Shared Media
  17.  
  18. Status of This Memo
  19.  
  20.    This memo provides information for the Internet community.  This memo
  21.    does not specify an Internet standard of any kind.  Distribution of
  22.    this memo is unlimited.
  23.  
  24. Abstract
  25.  
  26.    The original Internet architecture assumed that each network is
  27.    labeled with a single IP network number.  This assumption may be
  28.    violated for shared media, including "large public data networks"
  29.    (LPDNs).  The architecture still works if this assumption is
  30.    violated, but it does not have a means to prevent multiple host-
  31.    router and router-router hops through the shared medium.  This memo
  32.    discusses alternative approaches to extending the Internet
  33.    architecture to eliminate some or all unnecessary hops.
  34.  
  35. Table of Contents
  36.  
  37.    1. INTRODUCTION ..................................................  2
  38.    2. THE ORIGINAL INTERNET ARCHITECTURE ............................  2
  39.    3. THE PROBLEMS INTRODUCED BY SHARED MEDIA .......................  4
  40.    4. SOME SOLUTIONS TO THE SM PROBLEMS .............................  7
  41.       4.1  Hop-by-Hop Redirection ...................................  7
  42.       4.2  Extended Routing ......................................... 11
  43.       4.3  Extended Proxy ARP ....................................... 13
  44.       4.4  Routing Query Messages ................................... 14
  45.       4.5  Stale Routing Information ................................ 14
  46.       4.6  Implications of Filtering (Firewalls) .................... 15
  47.    5. SECURITY CONSIDERATIONS ....................................... 16
  48.    6. CONCLUSIONS ................................................... 17
  49.    7. ACKNOWLEDGMENTS ............................................... 17
  50.    8. REFERENCES .................................................... 18
  51.    Authors' Addresses ............................................... 19
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Braden, Postel & Rekhter                                        [Page 1]
  59.  
  60. RFC 1620              Shared Media IP Architecture              May 1994
  61.  
  62.  
  63. 1. INTRODUCTION
  64.  
  65.    This memo concerns the implications of shared medium networks for the
  66.    architecture of the TCP/IP protocol suite.  General familiarity with
  67.    the TCP/IP architecture and the IP protocol is assumed.
  68.  
  69.    The Internet architecture is founded upon what was originally called
  70.    the "Catenet model" [PSC81].  Under this model, the Internet
  71.    (originally dubbed "the Catenet") is formed using routers (originally
  72.    called "gateways") to interconnect distinct and perhaps diverse
  73.    networks.  An IP host address (more correctly characterized as a
  74.    network interface address) is formed of the pair (net#,host#).  Here
  75.    "net#" is a unique IP number assigned to the network (or subnet) to
  76.    which the host is attached, and "host#" identifies the host on that
  77.    network (or subnet).
  78.  
  79.    The original Internet model made the implicit assumptions that each
  80.    network has a single IP network number and that networks with
  81.    different numbers may interchange packets only through routers.
  82.    These assumptions may be violated for networks implemented using a
  83.    common "shared medium" (SM) at the link layer (LL).  For example,
  84.    network managers sometimes configure multiple IP network numbers
  85.    (usually subnet numbers) on a single broadcast-type LAN such as an
  86.    Ethernet.  The large (switched) public data networks (LPDNs), such as
  87.    SMDS and B-ISDN, form a potentially more important example of shared
  88.    medium networks.  Any two systems connected to the same shared medium
  89.    network are capable of communicating directly at the LL, without IP
  90.    layer switching by routers.  This presents an opportunity to optimize
  91.    performance and perhaps lower cost by eliminating unnecessary LL hops
  92.    through the medium.
  93.  
  94.    This memo discusses how unnecessary hops can be eliminated in a
  95.    shared medium, while retaining the coherence of the existing Internet
  96.    architecture.  This issue has arisen in a number of IETF Working
  97.    Groups concerned with LPDNs, including IPLPDN, IP over ATM, IDRP for
  98.    IP, and BGP.  It is time to take a careful look at the architectural
  99.    issues to be solved.  This memo first summarizes the relevant aspects
  100.    of the original Internet architecture (Section 2), and then it
  101.    explains the extra-hop problems created by shared media networks
  102.    (Section 3).  Finally, it discusses some possible solutions (Section
  103.    4).
  104.  
  105. 2. THE ORIGINAL INTERNET ARCHITECTURE
  106.  
  107.    We very briefly review the original architecture, to introduce the
  108.    terminology and concepts.  Figure 1 illustrates a typical set of four
  109.    networks A, ... D, represented traditionally as clouds,
  110.    interconnected by routers R2, R3, and R4.  Routers R1 and R5 connect
  111.  
  112.  
  113.  
  114. Braden, Postel & Rekhter                                        [Page 2]
  115.  
  116. RFC 1620              Shared Media IP Architecture              May 1994
  117.  
  118.  
  119.    to other parts of the Internet.  Ha, ... Hd represent hosts connected
  120.    to these networks.
  121.  
  122.    It is not necessary to distinguish between network and subnet in this
  123.    memo.  We may assume that there is some address mask associated with
  124.    each "network" in Figure 1, allowing a host or router to divide the
  125.    32 bits of an IP address into an address for the cloud and a host
  126.    number that is defined uniquely only within that cloud.
  127.  
  128.               Ha           Hb           Hc           Hd
  129.  
  130.               |            |            |            |
  131.               |            |            |            |
  132.              _|_          _|_          _|_          _|_
  133.             (   )        (   )        (   )        (   )
  134.             (Net)        (Net)        (Net)        (Net)
  135.             ( A )        ( B )        ( C )        ( D )
  136.      - R1 --(   )-- R2 --(   )-- R3 --(   )-- R4 --(   )-- R5 --
  137.             (   )        (   )        (   )        (   )
  138.             (___)        (___)        (___)        (___)
  139.  
  140.              Figure 1.  Example Internet Fragment
  141.  
  142.    An Internet router is connected to local network(s) as a special kind
  143.    of host.  Indeed, for network management purposes, a router plays the
  144.    role of a host by originating and terminating datagrams.  However,
  145.    there is an important difference between a host and a router:  the
  146.    routing function is mostly centralized in the routers, allowing hosts
  147.    to be "dumb" about routing.  Internet hosts are required [RFC-1122]
  148.    to make only one simple routing decision: is the destination address
  149.    local to the connected network?  If the address is not local, we say
  150.    it is "foreign" (relative to the connected network or to the host).
  151.  
  152.    A host sends a datagram directly to a local destination address or
  153.    (for a foreign destination) to a first-hop router.  The host
  154.    initially uses some "default" router for any new destination address.
  155.    If the default is the wrong choice, that router returns a Redirect
  156.    message and forwards the datagram.  The Redirect message specifies
  157.    the preferred first-hop router for the given destination address.
  158.    The host uses this information, which it maintains in a "routing
  159.    cache" [RFC-1122], to determine the first-hop address for subsequent
  160.    datagrams to the same destination.
  161.  
  162.    To actually forward an IP datagram across a network hop, the sender
  163.    must have the link layer (LL) address of the target.  Therefore, each
  164.    host and router must have some "address resolution" procedure to map
  165.    IP address to an LL address.  ARP, used for networks with broadcast
  166.    capability, is the most common address resolution procedure
  167.  
  168.  
  169.  
  170. Braden, Postel & Rekhter                                        [Page 3]
  171.  
  172. RFC 1620              Shared Media IP Architecture              May 1994
  173.  
  174.  
  175.    [Plummer82].  If there is no LL broadcast capability (or if it is too
  176.    expensive), then there are two other approaches to address
  177.    resolution: local configuration tables, and "address-resolution
  178.    servers" (AR Servers).
  179.  
  180.    If AR Servers are used for address resolution, hosts must be
  181.    configured with the LL address(es) of one or more nearby servers.
  182.    The mapping information provided by AR Servers might itself be
  183.    collected using a protocol that allows systems to register their LL
  184.    addresses, or from static configuration tables.  The ARP packet
  185.    format and the overall ARP protocol structure (ARP Request/ARP Reply)
  186.    may be suitable for the communications between a host and an AR
  187.    server, even in the absence of the LL broadcast capabilities; this
  188.    would ease conversion of hosts to using AR Servers.
  189.  
  190.    The examples in this memo use ARP for address resolution.  At least
  191.    some of the LPDN's that are planned will provide sufficient broadcast
  192.    capability to support ARP.  It is important to note that ARP operates
  193.    at the link layer, while the Redirect and routing cache mechanisms
  194.    operate at the IP layer of the protocol stack.
  195.  
  196. 3. THE PROBLEMS INTRODUCED BY SHARED MEDIA
  197.  
  198.    Figure 2 shows the same configuration as Figure 1, but now networks
  199.    A, B, C, and D are all within the same shared medium (SM), shown by
  200.    the dashed box enclosing the clouds.  Networks A, ... D are now
  201.    logical IP networks (called LIS's in [Laubach93]) rather than
  202.    physical networks.  Each of these logical networks may (or may not)
  203.    be administratively distinct.  The SM allows direct connectivity
  204.    between any two hosts or routers connected to it.  For example, host
  205.    Ha can interchange datagrams directly with host Hd or with router R4.
  206.    A router that has some but not all of its interfaces connected to the
  207.    shared medium is called a "border router"; R1 and R5 are examples.
  208.  
  209.    Figure 2 illustrates the "classical" model [Laubach93] for use of the
  210.    Internet architecture within a shared medium, i.e., simply applying
  211.    the original Internet architecture described earlier.  This will
  212.    provide correct but not optimal operation.  For example, in the case
  213.    of two hosts on the same logical network (not shown in Figure 2), the
  214.    original rules will clearly work; the source host will forward a
  215.    datagram directly in a single hop to a host on the same logical
  216.    network.  The original architectural rules will also work for
  217.    communication between any pair of hosts shown in Figure 2; for
  218.    example, host Ha would send a datagram to host Hd via the four-hop
  219.    path Ha -> R2 -> R3 -> R4 -> Hd.  However, the classical model does
  220.    not take advantage of the direct connectivity Ha -> Hd allowed by the
  221.    shared medium.
  222.  
  223.  
  224.  
  225.  
  226. Braden, Postel & Rekhter                                        [Page 4]
  227.  
  228. RFC 1620              Shared Media IP Architecture              May 1994
  229.  
  230.  
  231.            Ha           Hb           Hc           Hd
  232.  
  233.            |            |            |            |
  234.       ---- | ---------- | ---------- | ---------- | ----
  235.      |   __|__        __|__        __|__        __|__   |
  236.         (     )      (     )      (     )      (     )
  237.      |  (     )      (     )      (     )      (     )  |
  238.         ( Net )      ( Net )      ( Net )      ( Net )
  239.      |  (  A  )      (  B  )      (  C  )      (  D  )  |
  240.         (     )      (     )      (     )      (     )
  241.      |  (     )      (     )      (     )      (     )  |
  242.         (_____)      (_____)      (_____)      ( ____)
  243.      |    | |          | |          | |          | |    |
  244.       --- | | -------- | | -------- | | -------- | | ---
  245.           | |          | |          | |          | |
  246.     - R1 -   --- R2 ---   --- R3 ---   --- R4 ---   --- R5 ---
  247.  
  248.  
  249.          Figure 2.  Logical IP Networks in Shared Medium
  250.  
  251.  
  252.    This memo concerns mechanisms to achieve minimal-hop connectivity
  253.    when it is desired.  We should note that is may not always be
  254.    desirable to achieve minimal-hop connectivity in a shared medium.
  255.    For example, the "extra" hops may be needed to allow the routers to
  256.    act as administrative firewalls.  On the other hand, when such
  257.    firewall protection is not required, it should be possible to take
  258.    advantage of the shared medium to allow this datagram to use shorter
  259.    paths.  In general, it should be possible to choose between firewall
  260.    security and efficient connectivity.  This is discussed further in
  261.    Section 4.6 below.
  262.  
  263.    We also note that the mechanisms described here can only optimize the
  264.    path within the local SM.  When the SM is only one segment of the
  265.    path between source and receiver, removing hops locally may limit the
  266.    ability to switch to globally more optimal paths that may become
  267.    available as the result of routing changes.  Thus, consider Ha-
  268.    >...Hx, where host Hx is outside the SM to which host Ha is attached.
  269.    Suppose that the shortest global path to Hx is via some border router
  270.    Rb1.  Local optimization using the techniques described below will
  271.    remove extra hops in the SM and allow Ha->Rb1->...Hx.  Now suppose
  272.    that a later route change outside the SM makes the path Ha->Rb2-
  273.    >...Hx more globally optimum, where Rb2 is another border router.
  274.    Since Ha does not participate in the routing protocol, it does not
  275.    know that it should switch to Rb2.  It is possible that Rb2 may not
  276.    realize it either; this is the situation:
  277.  
  278.      GC(Ha->Rb2->...Hx) < GC(Ha->Rb1->Rb2->...Hx) < GC(Ha->Rb1->...Hx)
  279.  
  280.  
  281.  
  282. Braden, Postel & Rekhter                                        [Page 5]
  283.  
  284. RFC 1620              Shared Media IP Architecture              May 1994
  285.  
  286.  
  287.    where GC() represents some global cost function of the specified
  288.    path.
  289.  
  290.    Note that ARP requires LL broadcast.  Even if the SM supports
  291.    broadcast, it is likely that administrators will erect firewalls to
  292.    keep broadcasts local to their LIS.
  293.  
  294.    There are three cases to be optimized.  Suppose H and H' are hosts
  295.    and Rb and Rb' are border routers connected to the same same SM.
  296.    Then the following one-hop paths should be possible:
  297.  
  298.  
  299.          H -> H':  Host to host within the SM
  300.  
  301.          H -> Rb: Host to exit router
  302.  
  303.          Rb -> Rb': Entry border router to exit border router,
  304.                      for transit traffic.
  305.  
  306.  
  307.    We may or not be able to remove the extra hop implicit in Rb -> R ->
  308.    H, where Rb, R, and H are within the same SM, but the ultimate source
  309.    is outside the SM.  To remove this hop would require distribution of
  310.    host routes, not just network routes, between the two routers R and
  311.    Rb; this would adversely impact routing scalability.
  312.  
  313.    There are a number of important requirements for any architectural
  314.    solution to these problems.
  315.  
  316.    *    Interoperability
  317.  
  318.         Modified hosts and routers must interoperate with unmodified
  319.         nodes.
  320.  
  321.    *    Practicality
  322.  
  323.         Minimal software changes should be required.
  324.  
  325.    *    Robustness
  326.  
  327.         The new scheme must be at least as robust against errors in
  328.         software, configuration, or transmission as the existing
  329.         architecture.
  330.  
  331.    *    Security
  332.  
  333.         The new scheme must be at least as securable against subversion
  334.         as the existing architecture.
  335.  
  336.  
  337.  
  338. Braden, Postel & Rekhter                                        [Page 6]
  339.  
  340. RFC 1620              Shared Media IP Architecture              May 1994
  341.  
  342.  
  343.    The distinction between host and router is very significant from an
  344.    engineering viewpoint.  It is considered to be much harder to make a
  345.    global change in host software than to change router software,
  346.    because there are many more hosts and host vendors than routers and
  347.    router vendors, and because hosts are less centrally administered
  348.    than routers.  If it is necessary to change the specification of what
  349.    a host does (and it is), then we must minimize the extent of this
  350.    change.
  351.  
  352. 4. SOME SOLUTIONS TO THE SM PROBLEMS
  353.  
  354.    Four different approaches have been suggested for solving these SM
  355.    problems.
  356.  
  357.    (1)  Hop-by-Hop Redirection
  358.  
  359.         In this approach, the host Redirect mechanism is extended to
  360.         collapse multiple-hop paths within the same shared medium, hop-
  361.         by-hop.  A router is to be allowed to send, and a host allowed
  362.         to accept, a Redirect message that specifies a foreign IP
  363.         address within the same SM.  We refer to this as a "foreign
  364.         Redirect".  Section 4.1 analyzes this approach in some detail.
  365.  
  366.    (2)  Extended Routing
  367.  
  368.         Routing protocols can be modified to know about the SM and to
  369.         provide LL addresses.
  370.  
  371.    (3)  Extended Proxy ARP
  372.  
  373.         This is a form of the proxy ARP approach, in which the routing
  374.         problem is solved implicitly by an extended address resolution
  375.         mechanism at the LL.  This approach has been described by
  376.         Heinanen [Heinanen93] and by Garrett et al [Garratt93].
  377.  
  378.    (4)  Route Query Messages
  379.  
  380.         This approach has been suggested by Halpern [Halpern93].  Rather
  381.         than adding additional information to routing, this approach
  382.         would add a new IP-layer mechanism using end-to-end query and
  383.         reply datagrams.
  384.  
  385.    These four are discussed in the following four subsections.
  386.  
  387.    4.1  Hop-by-Hop Redirection
  388.  
  389.       The first scheme we consider would operate at the IP layer.  It
  390.       would cut out extra hops one by one, with each router in the path
  391.  
  392.  
  393.  
  394. Braden, Postel & Rekhter                                        [Page 7]
  395.  
  396. RFC 1620              Shared Media IP Architecture              May 1994
  397.  
  398.  
  399.       operating on local information only.  This approach requires both
  400.       host and router changes but no routing protocol changes.
  401.  
  402.       The basic idea is that the first-hop router, upon observing that
  403.       the next hop is within the same SM, sends a foreign Redirect to
  404.       the source, redirecting it to the next hop.  Successive
  405.       application of this algorithm at each intermediate router will
  406.       eventually result in a direct path from source host to destination
  407.       host, if both are within the same SM.
  408.  
  409.       Suppose that Ha wants to send a datagram to Hd.  We use the
  410.       notation IP.a for the IP address of entity a, and LL.a for the
  411.       corresponding LL address.  Each line in the following shows an IP
  412.       datagram and the path that datagram will follow, separated by a
  413.       colon.  The notation "Redirect( h, IP.a)" means a Redirect
  414.       specifying IP.a as the best next hop to reach host h.
  415.  
  416.          (1)  Datagram 1: Ha -> R2 -> R3 -> R4 -> Hd
  417.  
  418.          (2)  Redirect(Hd, IP.R3): R2 -> Ha
  419.  
  420.          (3)  Datagram 2: Ha -> R3 -> R4 -> Hd
  421.  
  422.          (4)  Redirect(Hd, IP.R4): R3 -> Ha
  423.  
  424.          (5)  Datagram 3: Ha -> R4 -> Hd
  425.  
  426.          (6)  Redirect(Hd, IP.Hd): R4 -> Ha
  427.  
  428.          (7)  Datagram 4: Ha -> Hd
  429.  
  430.       There are three problems to be solved to make hop-by-hop
  431.       redirection work; we label them HH1, HH2, and HH3.
  432.  
  433.       HH1: Each router must be able to resolve the LL address of the
  434.            source Ha, to send a (foreign) Redirect.
  435.  
  436.            Let us assume that the link layer provides the source LL
  437.            address when an IP datagram arrives.  If the router
  438.            determines that a Redirect should be sent, then it will be
  439.            sent to the source LL address of the received datagram.
  440.  
  441.       HH2: A source host must be able to perform address resolution to
  442.            obtain the LL address of each router to which it is
  443.            redirected.
  444.  
  445.            It would be possible for each router R, upon sending a
  446.            Redirect to Ha, to also send an unsolicited ARP Reply point-
  447.  
  448.  
  449.  
  450. Braden, Postel & Rekhter                                        [Page 8]
  451.  
  452. RFC 1620              Shared Media IP Architecture              May 1994
  453.  
  454.  
  455.            to-point to LL.Ha, updating Ha's ARP cache with LL.R.
  456.            However, there is not guarantee that this unsolicited ARP
  457.            Reply would be delivered.  If it was lost, there would be a
  458.            forwarding black hole.  The host could recover by starting
  459.            over from the original default router; however, this may be
  460.            too inefficient a solution.
  461.  
  462.            A much more direct and efficient solution would introduce an
  463.            extended ICMP Redirect message (call it XRedirect) that
  464.            carries the LL address as well as the IP address of the
  465.            target.  This would remove the issue of reliable delivery of
  466.            the unsolicited ARP described earlier, because the fate of
  467.            the LL address would be shared with the IP target address;
  468.            both would be delivered or neither would.  (An XRedirect is
  469.            essentially the same as a Redirect in the OSI ES-IS
  470.            protocol).
  471.  
  472.            Using XRedirect, the previous example becomes:
  473.  
  474.               (1)  Datagram 1: Ha -> R2 -> R3 -> R4 -> Hd
  475.  
  476.               (2)  XRedirect(Hd, IP.R3, LL.R3): R2 -> Ha
  477.  
  478.               (3)  Datagram 2: Ha -> R3 -> R4 -> Hd
  479.  
  480.               (4)  XRedirect(Hd, IP.R4, LL.R4): R3 -> Ha
  481.  
  482.               (5)  Datagram 3: Ha -> R4 -> Hd
  483.  
  484.               (6)  XRedirect(Hd, IP.Hd, LL.Hd): R4 -> Ha
  485.  
  486.               (7)  Datagram 4: Ha -> Hd
  487.  
  488.       HH3: Each router should be able to recognize when it is the first
  489.            hop in the path, since a Redirect should be sent only by the
  490.            first hop router.  Unfortunately this will be possible only
  491.            if the LL address corresponding to the IP source address has
  492.            been cached from an earlier event; a router in this chain
  493.            determines the LL address of the source from the arriving
  494.            datagram (see HH1 above).  If it cannot determine whether it
  495.            is the first hop, a router must always send an [X]Redirect,
  496.            which will be spurious if the router is not the first hop.
  497.  
  498.            Such spurious [X]Redirects will be sent to the IP address of
  499.            the source host, but using the LL address of the previous-hop
  500.            router.  The propagation scope of [X]Redirects can be limited
  501.            to a single IP hop (see below), so they will go no further
  502.            than the previous-hop router, where they will be discarded.
  503.  
  504.  
  505.  
  506. Braden, Postel & Rekhter                                        [Page 9]
  507.  
  508. RFC 1620              Shared Media IP Architecture              May 1994
  509.  
  510.  
  511.            However, there will be some router overhead to process these
  512.            useless [X]Redirects
  513.  
  514.       Next, we discuss the changes in hosts and in routers required for
  515.       hop-by-hop redirection.
  516.  
  517.       o    Host Changes
  518.  
  519.            The Host Requirements RFC [RFC-1122] specifies the host
  520.            mechanism for routing an outbound datagram in terms of
  521.            sending the datagram directly to a local destination or else
  522.            to the first hop router (to reach a foreign destination)
  523.            [RFC-1122 3.3.1].  Although this mechanism assumes a local
  524.            address, a foreign address for a first-hop router should work
  525.            equally well.
  526.  
  527.            The target address contained in the routing cache is updated
  528.            by Redirect messages.  There is currently a restriction on
  529.            what target addresses may be accepted in Redirect messages
  530.            [RFC-1122 3.2.2.2], which would prevent foreign Redirects
  531.            from working:
  532.  
  533.                 A Redirect message SHOULD be silently discarded if the
  534.                 new router address it specifies is not on the same
  535.                 connected (sub-) net through which the Redirect arrived,
  536.                 or if the source of the Redirect is not the current
  537.                 first-hop router for the specified destination.
  538.  
  539.            To support foreign Redirects requires simply removing the
  540.            first validity check.  The second check, which requires an
  541.            acceptable Redirect to come from the node to which the
  542.            datagram that triggered the Redirect was sent, is retained.
  543.            The same validity check would be used for XRedirects.
  544.  
  545.            In order to send a datagram to the target address found in
  546.            the routing cache, a host must resolve the IP address into a
  547.            LL address.  No change should be necessary in the host's IP-
  548.            to-LL resolution mechanism to handle a foreign rather than a
  549.            local address.
  550.  
  551.            The Hop-by-Hop redirection requires changes to the semantics
  552.            of the IP address that an ICMP Redirect is allowed to carry.
  553.            Under the present definition [Postel81b], an ICMP Redirect
  554.            message is only allowed to carry an IP address of a router.
  555.            In order for the hop-by-hop redirection mechanism to
  556.            eliminate all router hops, allowing two hosts connected to
  557.            the same SM to communicate directly, a [X]Redirect message
  558.            must be able to carry the IP address of the destination host.
  559.  
  560.  
  561.  
  562. Braden, Postel & Rekhter                                       [Page 10]
  563.  
  564. RFC 1620              Shared Media IP Architecture              May 1994
  565.  
  566.  
  567.       o    Router Changes
  568.  
  569.            The router changes required for hop-by-hop redirection are
  570.            much more extensive than the host changes.  The examples
  571.            given earlier showed the additional router functions that
  572.            would be needed.
  573.  
  574.            Consider a router that is connected to an SM.  When it
  575.            receives a datagram from the SM, it tests whether the next
  576.            hop is on the same SM, and if so, it sends a foreign
  577.            XRedirect to the source host, using the link layer address
  578.            with which the datagram arrived.
  579.  
  580.            A router should avoid sending more than a limited number of
  581.            successive foreign Redirects to the same host.  This is
  582.            necessary because an unmodified host may legitimately ignore
  583.            a Redirect to a foreign network and continue to forward
  584.            datagrams to the same router.  A router can accomplish this
  585.            limitation by keeping a cache of foreign Redirects sent.
  586.  
  587.            Note that foreign Redirects generated by routers according to
  588.            these rules, like the current local Redirects, may travel
  589.            exactly one link-layer hop.  It is therefore reasonable and
  590.            desirable to set their TTL to 1, to ensure they cannot stray
  591.            outside the SM.
  592.  
  593.            The extra check needed to determine whether to generate a
  594.            Redirect may incur additional processing and thus result in a
  595.            performance degradation; to avoid this, a router may not
  596.            perform the check at all but just forward the packet. The
  597.            scheme with [X]Redirects is not applicable to such a router.
  598.  
  599.            Finally, note that the hop-by-hop redirection scheme is only
  600.            applicable when the source host is connected to an SM, since
  601.            routers do not listen to Redirects.  To optimize the
  602.            forwarding of transit traffic between entry and exit border
  603.            routers, an extension to routing is required, as discussed in
  604.            the following section.  Conversely, an extension to the
  605.            routing protocol cannot be used to optimize forwarding
  606.            traffic from a host connected to the SM, since a host should
  607.            not listen to routing protocols.
  608.  
  609.    4.2  Extended Routing
  610.  
  611.       The routing protocols may be modified to carry additional
  612.       information that is specific to the SM.  The router could use the
  613.       attribute "SameSM" for a route to deduce the shortest path to be
  614.       reported to its neighbors.  It could also carry the LL addresses
  615.  
  616.  
  617.  
  618. Braden, Postel & Rekhter                                       [Page 11]
  619.  
  620. RFC 1620              Shared Media IP Architecture              May 1994
  621.  
  622.  
  623.       with each router IP address.
  624.  
  625.       For example, the extended routing protocol would allow R2 to know
  626.       that R4 is the best next-hop to reach the destination network in
  627.       the same SM, and to know both IP.R4 and LL.R4, leading to the path
  628.       Ha->R2->R4->Hb.  Further optimization cannot be done with extended
  629.       routing alone, since the host does not participate in routing, and
  630.       because we want the routing protocol to handle only per-network
  631.       information, not per-host information.  Hop-by-hop redirection
  632.       could then be used to eliminate all router hops, as in the
  633.       following sequence:
  634.  
  635.           (1) Datagram 1: Ha -> R2 -> R4 -> Hd
  636.  
  637.           (2) XRedirect(Hd, IP.R4, LL.R4): R2 -> Ha
  638.  
  639.           (3) Datagram 2: Ha -> R4 -> Hd
  640.  
  641.           (4) XRedirect(Hd, IP.Hd, LL.Hd): R4 -> Ha
  642.  
  643.           (5) Datagram 3: Ha -> Hd
  644.  
  645.       There are three aspects to the routing protocol extension:
  646.  
  647.       (1)  the ability to pass "third-party" information -- a router
  648.            should be able to specify the address (IP address and perhaps
  649.            LL address) of some other router as the next-hop;
  650.  
  651.       (2)  knowledge of the "SameSM" attribute for routes; and
  652.  
  653.       (3)  knowledge of LL addresses corresponding to IP addresses of
  654.            routers within the same SM.
  655.  
  656.       A router must be able to determine that a particular IP address
  657.       (e.g., the source address) is in the same SM.  There are several
  658.       possible ways to make this information available to a router in
  659.       the SM.
  660.  
  661.       (1)  A router may use a single physical interface to an SM; this
  662.            implies that all its logical interfaces lie within the same
  663.            SM.
  664.  
  665.       (3)  There might be some administrative structure in the IP
  666.            addresses, e.g., all IP addresses within a particular
  667.            national SM might have a common prefix string.
  668.  
  669.       (3)  There might be configuration information, either local to the
  670.            router or available from some centralized server (e.g, the
  671.  
  672.  
  673.  
  674. Braden, Postel & Rekhter                                       [Page 12]
  675.  
  676. RFC 1620              Shared Media IP Architecture              May 1994
  677.  
  678.  
  679.            DNS).  Note that a router could consult this server in the
  680.            background while continuing to forward datagrams without
  681.            delay.  The only consequence of a delay in obtaining the
  682.            "SameSM" information would be some unnecessary (but
  683.            temporary) hops.
  684.  
  685.    4.3  Extended Proxy ARP
  686.  
  687.       The approach of Heinanen [Heinanen93] was intended to solve the
  688.       problem of address resolution in a shared medium with no broadcast
  689.       mechanism ("Non-Broadcast, MultiAccess" or NBMA).  Imagine that
  690.       the shared medium has a single IP network number, i.e., it is one
  691.       network "cloud".  Heinanen envisions a set of AR Servers within
  692.       this medium.  These AR Servers run some routing protocol among
  693.       themselves.  A source host issues an ARP Request (via a point-to-
  694.       point LL transmission) to an AR Server with which it is
  695.       associated.  This ARP Request is forwarded hop-by-hop at the link
  696.       layer through the AR Servers, towards the AR Server that is
  697.       associated with the destination host.  That AR Server resolves the
  698.       address (using information learned from either host advertisement
  699.       or a configuration file), and returns an ARP Reply back through
  700.       the AR Servers to the source host.
  701.  
  702.               Ha           Hb           Hc           Hd
  703.  
  704.               |            |            |            |
  705.          ---- | ---------- | ---------- | ---------- | ----
  706.         (                                                  )
  707.         (        Shared Medium (One Logical Network)       )
  708.         (                                                  )
  709.          ----|--|---------|------------|----------|----|---
  710.              |  |         |            |          |    |
  711.        - R1 -   |         |            |          |    --- R5 ---
  712.             ____|__     __|____      __|____     _|_____
  713.            | AR Sa |   | AR Sb |    | AR Sc |   | AR Sd |
  714.            |_______|   |_______|    |_______|   |_______|
  715.  
  716.  
  717.             Figure 3.  Single-Cloud Shared Medium
  718.  
  719.  
  720.       Figure 3 suggests that each of the hosts Ha, ... Hd is associated
  721.       with a corresponding AR Server "AR Sa", ..."AR Sd".
  722.  
  723.       This same scheme could be applied to the LIS model of Figure 2.
  724.       The AR Servers would be implemented in the routers, and if the
  725.       medium supports broadcast then the hosts would be configured for
  726.       proxy ARP.  That is, the host would be told that all destinations
  727.  
  728.  
  729.  
  730. Braden, Postel & Rekhter                                       [Page 13]
  731.  
  732. RFC 1620              Shared Media IP Architecture              May 1994
  733.  
  734.  
  735.       are local, so it will always issue an ARP request for the final
  736.       destination.  The set of AR Servers would resolve this request.
  737.  
  738.       Since routing loops are a constant possibility, Heinanen's
  739.       proposal includes the addition of a hop count to ARP requests and
  740.       replies.
  741.  
  742.       Like all proxy ARP schemes, this one has a seductive simplicity.
  743.       However, solving the SM problem at the LL has several costs.  It
  744.       requires a complete round-trip time before the first datagram can
  745.       flow.  It requires a hop count in the ARP packet.  This seems like
  746.       a tip-off that the link layer may not be the most appropriate
  747.       place to solve the SM problem.
  748.  
  749.    4.4  Routing Query Messages
  750.  
  751.       This scheme [Halpern93] introduces a new IP level mechanism: SM
  752.       routing query and reply messages.  These messages are forwarded as
  753.       IP datagrams hop-by-hop in the direction of the destination
  754.       address.  The exit router can return a reply, again hop-by-hop,
  755.       that finally reaches the source host as an XRedirect.  It would
  756.       also be possible (but not necessary) to modify hosts to initiate
  757.       these queries.
  758.  
  759.       The query/reply pair is supplying the same information that we
  760.       would add to routing protocols under Extended Routing.  However,
  761.       the Query/Reply messages would allow us to keep the current
  762.       routing protocols unchanged, and would also provide the extra
  763.       information only for the routes that are actually needed, thus
  764.       reducing the routing overhead.  Note that the Query/Reply sequence
  765.       can happen in parallel with forwarding the initial datagram hop-
  766.       by-hop, so it does not add an extra round-trip delay.
  767.  
  768.    4.5  Stale Routing Information
  769.  
  770.       We must consider what happens when the network topology changes.
  771.       The technique of extended routing (Section 4.2) is capable of
  772.       providing sufficient assurances that stale information will be
  773.       purged from the system within the convergence time associated with
  774.       a particular routing protocol being used.
  775.  
  776.       However, the three other techniques (hop-by-hop redirection,
  777.       extended Proxy ARP, and routing query messages) may be expected to
  778.       provide minimal-hop forwarding only as long as the network
  779.       topology remains unchanged since the time such information was
  780.       acquired.  Changes in the topology may result in a change in the
  781.       minimal-hop path, so that the first-hop router may no longer be
  782.       the correct choice.  If the host that is using this first-hop
  783.  
  784.  
  785.  
  786. Braden, Postel & Rekhter                                       [Page 14]
  787.  
  788. RFC 1620              Shared Media IP Architecture              May 1994
  789.  
  790.  
  791.       router is not aware of the changes, then instead of a minimal-hop
  792.       path the host could be using a path that is now suboptimal,
  793.       perhaps highly sub-optimal, with respect to the number of hops.
  794.  
  795.       Futhermore, use of the information acquired via either extended
  796.       Proxy ARP or routing query messages to optimize routing between
  797.       routers attached to the same SM is highly problematic, because
  798.       presence of stale information on routers could result in
  799.       forwarding loops that might persist as long as the information
  800.       isn't purged; neither approach provides suitable handling of stale
  801.       information.
  802.  
  803.    4.6  Implications of Filtering (Firewalls)
  804.  
  805.       For a variety of reasons an administrator of a LIS may erect IP
  806.       Layer firewalls (perform IP-layer filtering) to constrain LL
  807.       connectivity between the hosts/routers within the LIS and
  808.       hosts/routers in other LISs within the same SM.  To avoid
  809.       disruption in forwarding, the mechanisms described in this
  810.       document need to take into account such firewalls.
  811.  
  812.       Using [X]Redirects requires a router that generates an [X]Redirect
  813.       to be cognizant of possible Link Layer connectivity constraints
  814.       between the router that is specified as the Next Hop in the
  815.       Redirect and the host that is the target of the Redirect.
  816.  
  817.       Using extended routing requires a router that originates and/or
  818.       propagates "third-party" information be cognizant of the possible
  819.       Link Layer connectivity constraints. Specifically, a router should
  820.       not propagate "third-party" information when there is a lack of
  821.       Link Layer connectivity between the router depicted by the
  822.       information and the router which is the immediate recipient of
  823.       that information.
  824.  
  825.       Using extended proxy ARP requires an ARP Server not to propagate
  826.       an ARP Request to another ARP server if there are Link Layer
  827.       connectivity constraints between the originator of the ARP Request
  828.       and the other ARP server.
  829.  
  830.       Using SM routing query and reply messages requires the routers
  831.       that pass the messages to be aware of the possible Link Layer
  832.       connectivity constraints.  The flow of messages need to reflect
  833.       these constraints.
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Braden, Postel & Rekhter                                       [Page 15]
  843.  
  844. RFC 1620              Shared Media IP Architecture              May 1994
  845.  
  846.  
  847. 5. SECURITY CONSIDERATIONS
  848.  
  849.    We should discuss the security issues raised by our suggested
  850.    changes.  We should note that we are not talking about "real"
  851.    security here; real Internet security will require cryptographic
  852.    techniques on an end-to-end basis.  However, it should not be easy to
  853.    subvert the basic delivery mechanism of IP to cause datagrams to flow
  854.    to unexpected places.
  855.  
  856.    With this understanding, the security problems arise in two places:
  857.    the ICMP Redirect messages and the ARP replies.
  858.  
  859.    *    ICMP Redirect Security
  860.  
  861.         We may reasonably require that the routers be secure.  They are
  862.         generally under centralized administrative control, and we may
  863.         assume that the routing protocols will contain sufficient
  864.         authentication mechanisms (even if it is not currently true).
  865.         Therefore, a host will reasonably be able to trust a Redirect
  866.         that comes from a router.
  867.  
  868.         However, it will NOT be reasonable for a host to trust another
  869.         host.  Suppose that the target host in the examples of Section
  870.         4.1 is untrustworthy; there is no way to prevent its issuing a
  871.         new Redirect to some other destination, anywhere in the
  872.         Internet.  On the other hand, this exposure is no worse than it
  873.         was; the target host, once subverted, could always act as a
  874.         hidden router to forward traffic elsewhere.
  875.  
  876.    *    ARP Security
  877.  
  878.         Currently, an ARP Reply can come only from the local network,
  879.         and a physically isolated network can be administrative secured
  880.         from subversion of ARP.  However, an ARP Reply can come from
  881.         anywhere within the SM, and an evil-doer can use this fact to
  882.         divert the traffic flow from any host within the SM
  883.         [Bellovin89].
  884.  
  885.         The XRedirect closes this security hole.  Validating the
  886.         XRedirect (as coming from the node to which the last datagram
  887.         was sent) will also validate the LL address.
  888.  
  889.         Another approach is to validate the source address from which
  890.         the ARP Reply was received (assuming the link layer protocol
  891.         carries the source address and the driver supplies it).  An
  892.         acceptable ARP reply for destination IP address D can only come
  893.         from LL address x, where the routing cache maps D -> E and the
  894.         ARP cache gives x as the translation of E.  This validation,
  895.  
  896.  
  897.  
  898. Braden, Postel & Rekhter                                       [Page 16]
  899.  
  900. RFC 1620              Shared Media IP Architecture              May 1994
  901.  
  902.  
  903.         involving both routing and ARP caches, might be ugly to
  904.         implement in a strictly-layered implementation.  It would be
  905.         natural if layering were already violated by combining the ARP
  906.         cache and routing cache.
  907.  
  908.    It is possible for the link layer to have security mechanisms that
  909.    could interfere with IP-layer connectivity.  In particular, there
  910.    could possible be non-transitivity of logical interconnection within
  911.    a shared medium.  In particular, some large public data networks may
  912.    include configuration options that could allow Net A to talk to Net B
  913.    and Net B to talk to Net C, but prevent A from talking directly to C.
  914.    In this case, the routing protocols have to be sophisticated enough
  915.    to handle such anomalies.
  916.  
  917. 6. CONCLUSIONS
  918.  
  919.    We have discussed four possible extensions to the Internet
  920.    architecture to allow hop-efficient forwarding of IP datagrams within
  921.    shared media, when this optimization is allowed by IP-layer
  922.    firewalls.  We do not draw any conclusions in this paper about the
  923.    best mechanisms.
  924.  
  925.    Our suggested extensions are evolutionary, leaving intact the basic
  926.    ideas of the current Internet architecture.  It would be possible to
  927.    make (and some have suggested) much more radical changes to
  928.    accommodate shared media.  In the extreme, one could entirely abolish
  929.    the inner clouds in Figure 2, so that there would be no logical
  930.    network structure within the SM.  The IP addresses would then be
  931.    logical, and some mechanism of distributed servers would be needed to
  932.    find routes within this random haze.  We think this approach ignores
  933.    all the requirements for management and security in today's Internet.
  934.    It might make a good research paper, but it would not be good
  935.    Internet design strategy.
  936.  
  937. 7. ACKNOWLEDGMENTS
  938.  
  939.    We are grateful to Keith McGloghrie, Joel Halpern, and others who
  940.    rubbed our noses in this problem.  We also acknowledge Tony Li
  941.    (cisco), Greg Minshall (Novell), and John Garrett (AT&T) for their
  942.    review and constructive comments.  We are also grateful to Gerri
  943.    Gilliland who supplied the paper tablecloth, colored crayons, and
  944.    fine food that allowed these ideas to be assembled initially.
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954. Braden, Postel & Rekhter                                       [Page 17]
  955.  
  956. RFC 1620              Shared Media IP Architecture              May 1994
  957.  
  958.  
  959. 8. REFERENCES
  960.  
  961.  
  962.  [Bellovin89]  Bellovin, S., "Security Problems in the TCP/IP Protocol
  963.      Suite", ACM CCR, v. 19. no. 2, April 1989.
  964.  
  965.  [Garrett93]  Garrett, J., Hagan, J. and J. Wong, "Directed ARP", RFC
  966.      1433, AT&T Bell Laboratories, University of Pennsylvania, March
  967.      1993.
  968.  
  969.  [Plummer82]  Plummer, D., "An Ethernet Address Resolution Protocol",
  970.      STD 37, RFC 826, MIT, November 1982.
  971.  
  972.  [Halpern93]  Halpern, J., Private Communication, July 1993.
  973.  
  974.  [Heinanen93]  Heinanen, J., "NBMA Address Resolution Protocol (NBMA
  975.      ARP)", Work in Progress, June 1993.
  976.  
  977.  [Laubach93]  Laubach, M., "Classical IP and ARP over ATM", RFC 1577,
  978.      Hewlett-Packard Laboratories, January 1994.
  979.  
  980.  [Postel81a]  Postel, J., "Internet Protocol - DARPA Internet Program
  981.      Protocol Specification", STD 5, RFC 791, DARPA, September 1981.
  982.  
  983.  [Postel81b]  Postel, J., "Internet Control Message Protocol- DARPA
  984.      Internet Program Protocol Specification", STD 5, RFC 792, ISI,
  985.      September 1981.
  986.  
  987.  [PSC81]  Postel, J., Sunshine, C., and D. Cohen, "The ARPA Internet
  988.      Protocol", Computer Networks 5, pp. 261-271, 1983.
  989.  
  990.  [RFC-1122]  Braden, R., Editor, "Requirements for Internet Hosts --
  991.      Communication Layers", STD 3, RFC 1122, USC/Information Sciences
  992.      Institutue, October 1989.
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Braden, Postel & Rekhter                                       [Page 18]
  1011.  
  1012. RFC 1620              Shared Media IP Architecture              May 1994
  1013.  
  1014.  
  1015. Authors' Addresses
  1016.  
  1017.      Bob Braden
  1018.      Information Sciences Institute
  1019.      University of Southern California
  1020.      4676 Admiralty Way
  1021.      Marina del Rey, CA 90292
  1022.  
  1023.      Phone: (310) 822-1511
  1024.      EMail: Braden@ISI.EDU
  1025.  
  1026.  
  1027.      Jon Postel
  1028.      Information Sciences Institute
  1029.      University of Southern California
  1030.      4676 Admiralty Way
  1031.      Marina del Rey, CA 90292
  1032.  
  1033.      Phone: (310) 822-1511
  1034.      EMail: Postel@ISI.EDU
  1035.  
  1036.  
  1037.      Yakov Rekhter
  1038.      Office 32-017
  1039.      T.J. Watson Research Center, IBM Corp.
  1040.      P.O. Box 218,
  1041.      Yorktown Heights, NY 10598
  1042.  
  1043.      Phone: (914) 945-3896
  1044.      EMail: Yakov@WATSON.IBM.COM
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065. Braden, Postel & Rekhter                                       [Page 19]
  1066.  
  1067.